Some software systems, such as SAP Business By Design®, provide database services to multiple clients (tenants) from a single application platform. Multi-tenant support may reduce a total cost of ownership so that such services may be offered at competitive prices. Although the application platform is shared among tenants, each tenant is associated with a separate database which includes all data that may be accessed by the tenant.
Each separate database requires individual maintenance and administrative efforts. These efforts include backup and recovery, lifecycle management (e.g., upgrades, change requests, testing) and tenant-specific adaptations (e.g., to address performance and/or disk space). The costs of these efforts typically overwhelm any savings achieved by using a single application platform.
To reduce database-related costs, a single database may be used to store the data of all supported tenants. For example, a “Sales” table may include a “Tenant” column to allow retrieval of tenant-specific information therefrom. Such a scenario raises obvious data security concerns. Moreover, it would be difficult to move or copy data associated with a single tenant to a different system.
To address the foregoing, systems are desired to support multiple tenants within a single database instance. Such systems preferably facilitate copying and/or moving of tenant-specific data among database instances.